package com.gzx.plugin.tjzy.modular.work.entity.vo;


import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.TransPojo;
import com.gzx.plugin.tjzy.modular.project.entity.ProjectEntity;
import com.gzx.plugin.tjzy.modular.work.entity.GzxMediatorWork;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import vip.xiaonuo.common.sensitive.annotation.Sensitive;
import vip.xiaonuo.common.sensitive.core.SensitiveStrategy;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;


/**
 * 调解员作业记录视图对象 gzx_mediator_work
 *
 * @author LionLi
 * @date 2024-09-18
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = GzxMediatorWork.class)
public class GzxMediatorWorkVo extends ProjectEntity implements Serializable, TransPojo {

    private String id;

    /**
     * 客户号
     */
    private String custCode;

    /**
     * 业务号
     */
    private String partnerBusinessId;

    /**
     * 欠款人身份证号
     */
    @Sensitive(strategy = SensitiveStrategy.ID_CARD)
    private String debtorCardId;

    /**
     * 欠款人姓名
     */
    private String liaisonName;

    /**
     * 联系电话
     */
    @Sensitive(strategy = SensitiveStrategy.PHONE)
    private String liaisonPhone;

    /**
     * 电话来源1案件导入2坐席添加3失联修复
     */
    @Trans(type = TransType.DICTIONARY, key = "PhoneSource")
    private Integer phoneSource;

    /**
     * 通话对象1本人2配偶3父母4亲戚5朋友
     */
    private String callRecipient;

    /**
     * 作业类型（1呼入 2呼出（预测式）3呼出（点呼）4短信 5微信）
     */
    @Trans(type = TransType.DICTIONARY, key = "TalkType")
    private String workType;

    /**
     * 作业结果1无人接听2欠费停机3关机4非本人5二次放号6稍后跟进
     */
    @Trans(type = TransType.DICTIONARY, key = "TalkResult")
    private String workResult;

    /**
     * 是否承诺还款0否1是
     */
    @Trans(type = TransType.DICTIONARY, key = "YesOrNo")
    private String isPromiseRepayment;

    /**
     * 结果代码 A01-W12
     */
    private String resultCode;

    /**
     * 承诺还款时间
     */
    private String promiseRepaymentDay;

    /**
     * 承诺还款金额
     */
    private BigDecimal promiseRepaymentAmount;

    /**
     * 下次联系时间
     */
    private String nextContactTime;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 是否已保存
     */
    private Integer isAlreadySaved;

    private String smsContent;
}
